
/**
 * Project Name:cats-core
 * File Name:AuthAreaService.java
 * Package Name:com.catsic.core.autharea.service
 * Date:2014年3月24日下午3:31:59
 * Copyright (c) 2014, oa.catsic.com All Rights Reserved.
 */
 
package com.catsic.core.autharea.service;

import java.util.List;

import com.catsic.base.BaseService;
import com.catsic.base.tree.TreeInfo;
import com.catsic.core.entity.AuthArea;
import com.catsic.core.form.AuthAreaForm;


/**
 * ClassName: AuthAreaService
 * Description: 授权区域Service
 * date: 2014年3月24日 下午3:31:59
 * author: yangyd
 */
public interface AuthAreaService extends BaseService<AuthArea, String> {
	
	/**
	 * add:添加授权区域
	 * @author yangyd
	 * @param  form
	 * @return AuthAreaForm
	 */ 
	public AuthAreaForm add(AuthAreaForm form);
	
	/**
	 * update:更新授权区域
	 * @author yangyd
	 * @param  form
	 * @return ResourceForm
	 */ 
	public AuthAreaForm update(AuthAreaForm form);
	
	/**
	 * findById:通过ID获得授权区域
	 * @author yangyd
	 * @param id
	 * @return
	 */
	public AuthArea findById(String id);
	
	/**
	 * 删除
	 * @param id
	 * @return
	 */
	public void delete(String id);
	
	/**
	 * findByCode:通过Code获得授权区域
	 * @author yangyd
	 * @param code
	 * @return
	 */
	public AuthArea findByCode(String code);
	
	/**
	 * findByPcode:通过Code获得授权区域列表.
	 * @author yangyd
	 * @param code
	 * @return
	 */
	public List<AuthArea> findByPcode(String code);
		
	/**
	 * getTreeInfo:通过资源编码获取区域树
	 * @author yangyd
	 * @return
	 */
	public List<TreeInfo> getTreeInfo(String code);
	
	/**
	 * 通过编码获取授权区域列表
	 * @param code
	 * @return
	 */
	public List<AuthAreaForm> query(String code);
	
	/**
	 * 通过资源code与PID为空来获取授权列表
	 * @param resourceCode
	 * @return
	 */
	public List<AuthArea> findByPidIsNullAndResourceCodeOrderByCodeDesc(String resourceCode);
	
	/**
	 * 通过资源code与PID为空来获取授权列表，转化为form
	 * @param resourceCode
	 * @return
	 */
	public List<AuthAreaForm> findFormByPidIsNullAndResourceCodeOrderByCodeDesc(String resourceCode);
	/**
	 * findByResourceCode:通过resourceCode获得授权分类列表.
	 * @author yangyd
	 * @param resourceCode
	 * @return
	 */
	public List<AuthArea> findByResourceCode(String resourceCode);
	
	/**
	 * findFormByResourceCode:通过resourceCode获得授权分类列表,转换为form.
	 * @author yangyd
	 * @param resourceCode
	 * @return
	 */
	public List<AuthAreaForm> findFormByResourceCode(String resourceCode);
}
